package com.ym.medical.domain.param;

import com.ym.common.constant.BeanCovert;
import com.ym.medical.domain.entity.OpenStudioAppEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;

import static com.ym.common.constant.ValidRule.Add;
import static com.ym.common.constant.ValidRule.Update;

/**
 * 工作室开通申请对象 open_studio_app
 *
 * @author ym
 * @date 2020-09-23
 */
@ApiModel("工作室开通申请-修改")
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class OpenStudioAppUpdateParam extends BeanCovert<OpenStudioAppEntity> {

    @ApiModelProperty("主键")
    @NotNull(message = "主键不能为空", groups = {Add.class, Update.class})
    private Long id;

    @ApiModelProperty("申请医生主键")
    private Long doctId;

    @ApiModelProperty("工作室主键")
    private Long studioId;

    @ApiModelProperty("工作室名称")
    @Size(max = 50, message = "工作室名称长度超过{max}", groups = {Add.class, Update.class})
    private String dsName;

    @ApiModelProperty("工作室描述")
    @Size(max = 4000, message = "工作室描述长度超过{max}", groups = {Add.class, Update.class})
    private String description;

    @ApiModelProperty("申请状态, 01 待审核 02 已驳回 03 已通过")
    @Size(max = 2, message = "申请状态,01待审核02已驳回03已通过长度超过{max}", groups = {Add.class, Update.class})
    private String state;

    @ApiModelProperty("申请时间")
    @NotNull(message = "申请时间不能为空", groups = {Add.class, Update.class})
    private Date appTime;

    @ApiModelProperty("备注")
    @Size(max = 2000, message = "备注长度超过{max}", groups = {Add.class, Update.class})
    private String remarks;

    @ApiModelProperty("初始开通服务项")
    @Size(max = 255, message = "初始开通服务项长度超过{max}", groups = {Add.class, Update.class})
    private String serviceItem;

    @ApiModelProperty("初始开通服务项比例")
    @Size(max = 255, message = "初始开通服务项比例长度超过{max}", groups = {Add.class, Update.class})
    private String proportion;

    @ApiModelProperty("null")
    @Size(max = 255, message = "null长度超过{max}", groups = {Add.class, Update.class})
    private String price;

}
